1. Field
This disclosure relates to techniques for serializing and deserializing program objects in object-oriented computer programming.
2. Description of the Related Art
In applications implemented by objected-oriented programming, elements of the application may be represented by programming structures known as program objects. Each object may be an instance of a class that defines the structure of the object. Each class may be comprised of program instructions, data structures, or a combination of program instructions and data structures. The program instructions and data structures comprising an object or a class will be referred to herein as “members”. An object that contains only data members without instructions is also known as a “structure.” Within this description, the term “object” is intended to describe both objects and structures.
Program objects normally do not survive beyond the execution lifetime of the program that creates them. The information that represents the objects normally resides in some form of volatile storage such as random access memory (RAM) and the ability to access and use this information normally exists only while the program that created the program objects is executing. In order for an object to persist beyond the execution lifetime of the program that creates it, the object may be converted into a serial data stream for writing to a nonvolatile memory device such as a magnetic disc. A similar conversion to a serial data stream may be required if the object to be transmitted from one computer to another computer, for example, within a network.
As used herein, the term “object serialization” refers to the process of generating a serial data stream that represents a program object and the term “object deserialization” refers to the process of reading the serial data stream and recreating the program object.